1. Field of the Invention
The present invention relates to the field of software development tools and more particularly to source code reuse within a software development tool.
2. Description of the Related Art
Software development refers to the design and coding of computer programs. Traditionally, software development involves the architecting of a computer program within a project and the source code specification of different portions of the computer program. The source code specification of the different portions of the computer program can be compiled and linked with binary resources such as multimedia and user interface elements into an executable or interpretable computer program or set of computer programs. In many cases, the process of software development can be performed within a software development tool such as an integrated development environment.
For smaller software development projects, little more is required of a software development tool to be effective because oftentimes, only one or two developers interact with the software development tool. For larger software development projects involving dozens of developers, however, simple software development tools fall short. In particular, for smaller software development projects, every portion of a computer program can be written to specification from scratch. In larger projects, however, strategic code reuse can save substantial sums in terms of money, resources and man hours.
Code reuse refers to the reuse of code already written to achieve a particular specification. Code reuse occurs not only within a single organization, but also across multiple organizations and in the global community at large due in part to the ubiquitous nature of the Internet. In highly organized software development environments, code reuse has become institutionalized wherein sophisticated software development tools provided archives of source code. Source code archives intended for source code reuse have proven ineffective in as much as locating a particular portion of source code in an automated fashion is not impossible.
While complete source code modules can be readily located, portions or snippets of source code within a module can be difficult to locate. Worse yet, disparate code structures common across disparate software development project inhibit the uniform organization of source code intended for code reuse. The introduction of markup language defined interactive programs such as hypertext markup language (HTML) based applications further complicates matters as the structure of an HTML document differs dramatically from that of more traditional source code.